package _case

import "fmt"

type Dog struct {
	animal
}

// 初始化的方法
func NewDog() AnimalI {
	//4、类型T实例，value或pointer可以调用全部的方法，编译器会自动转换
	return Dog{} //返回值类型，包含所有的animal，不包含*animal
}

func (d Dog) Each() {
	fmt.Println("狗吃")
}
func (d Dog) Sleep() {
	fmt.Println("狗睡觉")
}
func (d Dog) Drink() {
	fmt.Println("狗喝水")
}
func (d Dog) Run() {
	fmt.Println("狗跑")
}
